import axios from 'axios'
import { sessionStorageGet } from '../sessionStorage';
import { ElMessage } from 'element-plus'

// 创建axios实例
const http = axios.create({
  // baseURL: import.meta.env.VITE_API_BASE_URL, // 基础URL，可以通过环境变量来设置
  timeout: 10000, // 请求超时时间
})

// 请求拦截器
http.interceptors.request.use(
  config => {
    // 可以在这里添加例如token等请求头
    // if (store.getters.token) {
      config.headers['Authorization'] = `${sessionStorageGet('token')}`;
    // }
    return config
  },
  error => {
    // 请求错误处理
    return Promise.reject(error)
  },
)

// 响应拦截器
http.interceptors.response.use(
  response => {
    // 对响应数据做处理，例如只返回data部分

    const code = response.data?.code;
    const msg = response.data?.msg;
    if (code === 200) {
      return response?.data?.data
    }
    ElMessage.closeAll()
    ElMessage.error(msg)
    return Promise.reject(msg)
  },
  error => {
    // 响应错误处理
    return Promise.reject(error)
  },
)

export default http
